In conventional data storage systems, it is general to use redundant array of independent disks (RAID) for data protection. A disk array is constituted by a plurality of disk drives to form an array of disk drives, in such a way that the object of enhanced data integrity, enhanced fault tolerance, increased data processing capacity or memory capacity may be achieved. The RAID is divided into a variety of disk array configurations, such as common disk array configurations including RAID-0, RAID-1, RAID-5, RAID-6, RAID-10, RAID-50, RAID-60 and etc., each having advantages and disadvantages in theory. It is intended for various disk array configurations to balance between two objects of increased reliability and increased access performance.
As illustrated in FIG. 1, there is shown a structural diagram of a conventional data storage system. The data storage system 10 is a disk array system in RAID-5 configuration, provided with four disk drives 11, 13, 15 and 17, in which a data protection unit (or referred to as data protection mechanism) is provided for inserting parity between data, while writing desirable written data to the disk drives 11-17 in a distributed manner (in groups) in chief. When one of the disk drives (such as, the disk drive 17) is failed or damaged, only the parity inserted at leading end and trailing end of this sector previously is utilized for calculating and restoring contents stored in the failed disk drive 17 after the failed disk drive 17 is replaced. Thereby, the object of data protection is achieved.
For instance, data A may be grouped into data A1, data A2, data A3 and parity Ap corresponding to data A, and then, A1, A2, A3 and Ap are written into the disk drives 11, 13, 15 and 17, respectively. Data B may be grouped into data B1, data B2, data B3 and parity Bp corresponding to data B, and then, B1, B2, Bp and B3 are written into the disk drives 11, 13, 15 and 17, respectively. Data C may be grouped into data C1, data C2, data C3 and parity Cp corresponding to data C, and then, C1, Cp, C2 and C3 are written into the disk drives 11, 13, 15 and 17, respectively. Data D may be grouped into data D1, data D2, data D3 and parity Dp corresponding to data D, and then, Dp, D1, D2 and D3 are written into the disk drives 11, 13, 15 and 17, respectively. When one of the disk drives, such as disk drive 17, of the data storage system 10 is failed, only replacing the failed disk drive 17, followed by utilizing the parity Ap, Bp, Cp and Dp inserted at leading end and trailing end of this sector previously, is required for calculating and restoring contents in the failed disk drive 17. Further, the object of data protection is achieved.
The advantage of RAID-5 disk array configuration is high speed with capability of restoring data by calculation, in case that any one disk drive is failed, after the failed disk drive is replaced. For the duration of failure of any one disk, however, no data protection to new written data is performed in RAID-5 configuration, until the failed disk drive is replaced with a new one.
As illustrated in FIG. 2, there is shown a structural diagram of another conventional data storage system. The data storage system 20 is a disk array system in RAID-6 configuration, provided with five disk drives 21, 23, 25, 27 and 29, in which a data protection unit (or referred to as data protection mechanism) is provided for inserting parity between data, while writing data to the disk drives in a distributed manner or in groups. When one disk drive, such as the disk drive 23, for example, is failed, only the parity inserted at leading end and trailing end of this sector previously is utilized for calculating contents of the failed disk drive 23 after the failed disk drive 23 is replaced. Thereby, the object of data protection is further achieved.
Compared to the conventional data storage system (RAID-5) illustrated in FIG. 1, the RAID-6 configuration is additionally provided with a second independent parity block. Different algorithms are used by these two independent parities, respectively, so as to obtain high reliability of data. Data integrity may not be impacted, even though any two disk drives fail at the same time. Nevertheless, system performance is reduced due to complex and massive calculation.
Data A illustrated in FIG. 2 may be grouped into data A1, data A2, data A3, and two independent parities Ap and Aq corresponding to data A, and then, A1, A2, A3, Ap and Aq are written into the disk drives 21, 23, 25, 27 and 29, respectively. Data B may be grouped into data B1, data B2, data B3, and two independent parities Bp and Bq corresponding to data B, and then, B1, B2, Bp, Bq and B3 are written into the disk drives 21, 23, 25, 27 and 29, respectively. Data C may be grouped into data C1, data C2, data C3, and two independent parities Cp and Cq corresponding to data C, and then, C1, Cp, Cq, C2 and C3 are written into the disk drives 21, 23, 25, 27 and 29, respectively. Data D may be grouped into data D1, data D2, data D3, and two independent parities Dp and Dq corresponding to data D, and then, Dp, Dq, D1, D2 and D3 are written into the disk drives 21, 23, 25, 27 and 29, respectively. Data E may be grouped into data E1, data E2, data E3, and two independent parities Ep and Eq corresponding to data E, and then, Eq, E1, E2, E3 and Ep are written into the disk drives 21, 23, 25, 27 and 29, respectively. Furthermore, when any one or two disk drives of the data storage system 20 are failed, only replacing the failed disk drives, followed by utilizing the parities Ap, Bp, Cp, Dp, Ep, Aq, Bq, Cq, Dq and Eq inserted at leading end and trailing end of this sector previously, is required for calculating contents in the failed disk drive, so as to achieve the object of data protection.
In RAID-6 configuration, however, larger disk space allocated for parity and additional check calculation is necessary, which results in larger amount of operation and amount of calculation in comparison with RAID-5 configuration. Thereby, writing performance is poor in RAID-6 configuration. Furthermore, although data protection to new written data is performed in RAID-6 configuration after one or more disk drives are damaged until the replacement of damaged disk drives with new ones, longer elapsed time for calculation is needed for data protection mechanism (or referred to as data protection unit) in comparison with that needed for other mechanisms. Moreover, no data protection to data, written newly after the disk drives are damaged, is obtained either before the damaged disk drives are not replaced.